System for operating a robot with easy programming

ABSTRACT

A robot wherein the condition for a work and a sequence of movements to be performed may be set in connection with positions. In addition to setting a position at which a work is performed, the robot sets the conditions for performance of a work at a set position and of a sequence of movements between set positions. The set conditions may be memorized in connection with the set positions so as to be performed as are read out.

FIELD OF THE INVENTION

The present invention relates to a robot and more particularly relatesto a robot which may be operated with easy programming or teaching.

Prior Art:

Generally a robot is operated under control and teaching of aprogramming language including a robot language and the like wherein theinstructions are arranged so as to be carried out progressively inorder. The positions for working are dealt with as constants andvariables in the program. The movements between the working positionsare made under control of the moving instructions provided together withthe other instructions in the instruction arrangement.

However, in case the essential operation of robot is considered to bethe movement between the working positions, the program formed on thebasis of the conventional instruction arrangement will make it difficultto grasp the relation between the working positions and the movementsmade between the working positions, and between the working positionsand the works at which the works are performed. It has, therefore, beenso difficult to form and maintain the program.

The invention has been provided to eliminate the defects anddisadvantages of the prior art. It is, therefore, an object of theinvention to provide a robot which may be operated by simple programmingor teaching operation for setting working positions, works to beperformed at the working positions and the movements between the workingpositions.

SUMMARY OF THE INVENTION

For attaining the objects, the invention substantially comprises meansfor setting a position for carrying out a work, means for setting a workat a set position, control means for carrying out the set work at theset position.

With the structure as mentioned above, a work may be set in connectionwith a set position. It is, therefore, apparent that the programming orteaching may be easily made.

In this connection, a specific function may be predetermined or may bechanged to optionally set the working position and the work at theworking position.

Further, means for setting a moving sequence and a moving mode may beprovided. Further, the instructions may be provided to change the movingsequence in dependence upon a required condition, and other requiredinstructions may be provided. Further, the positions may be set incombination wherein another work at another position may be performed.Since these are all set in reference to the positions which have beenalready set, the program may be so easily formed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the functions of an embodiment of theinvention.

FIG. 2 is an explanatory view of a data memory 8 shown as one embodimentof the invention by way of example and showing a manner of data to bestored therein.

FIG. 3 is a flow chart showing the operations of the invention by way ofexample.

FIG. 4 is an explanatory view of a data structure of the invention shownby way of example.

FIG. 5 is an explanatory view of a data structure provided withconnection data 31 to be used.

FIG. 6 is an explanatory view of a data structure provided with movingdestination data 41 to be used.

FIG. 7 is an explanatory view showing the arrangement of data forsetting a sequence of movements.

FIG. 8 is an explanatory view of a data structure showing a mode ofmovement provided with fixed value data 32 to be used.

FIG. 9 is an explanatory view of a data structure showing a mode ofmovement provided with reference data 30 to be used.

FIG. 10 is an explanatory view of a data structure for jumping a movingdestination in dependence upon a condition.

FIG. 11 is an explanatory view of an operation for jumping a movingdestination in dependence upon a condition.

FIG. 12 is an explanatory view of the embodiment of data structurewherein a control instruction is generated during movement.

FIG. 13 is a diagrammatic view of a timing to be taken in FIG. 12.

FIG. 14 is an explanatory view of a data structure provided withreference data 30 for generating a control instruction during movement.

FIG. 15 is a flow chart showing a general operation of the invention.

FIG. 16 is an explanatory view of a data structure for performing apallet operation.

FIG. 17 is an explanatory view of the pallet operation.

FIG. 18 is an explanatory view of sub-point data 34.

FIG. 19 is an explanatory view of sub-point data 34 which is called out.

FIG. 20 is an explanatory view of sub-point data 34 which is called outprior to movement.

FIG. 21 is an explanatory view of data structure for amendment ofpositios.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The invention will be described in detail in reference to the embodimentshown in the attached drawings.

In FIG. 1, a control device 1 including a microcomputer as a mainelement is provided to control the operation of a robot. The controldevice 1 gives instructions to a motor drive control device 11 to drivea stepping motor 12, thereby to operate the robot in various ways. Themotor drive control device 11 and the stepping motor 12 are provided inso many number as are required to operate the robot respectively. Thestepping motor 12 is operatively connected to a mechanism (not shown)which is operated to do a required work. The stepping motor 12 may bereplaced by an actuator of any kind and may be of a closed loop.

A recording medium 10 may be connected to the control device 1 so thatrequired programs and data may be inputted therefrom. The program of therecording medium 10 is stored in a specific wok/operation program memory2, an other wok/operation program memory 3 and position setting programmemory 4 respectively. The reference numeral 5 is a temporary memory.

An operating device 7 is provided to be operated to input programs anddata into the robot and includes key board, hardware and softwaremechanisms for teaching.

A user may operate the operating device 7 to set a position at which awork is done, to set the content of the work and to set a sequence ofmovements. Further, a mode of movement, a change of moving route independence upon a required condition, output of instruction duringmovement and others may be set in connection with the set positions.

According to the embodiment, a display 6 is provided in connection withthe position setting program memory 4 so that the user may set aposition for working at the display 6 by use of the program stored inthe position setting program memory 4.

Further, according to the embodiment, a predetermined work is set as aninclusive application which may be used as it is or may be optionallychanged or may be used in mixture with an application which is made bythe user.

Namely, the specific wok/operation program memory 2, has variousprograms stored therein for operation of a specific work.

The operator may set a position for working by use of the programsstored in the position setting program memory 4 and may select requiredoperations in reference to selecting information shown in the display 6.According to the embodiment, each position is given a point number andthe coordinate of the point number is set.

As to the operations for a specific work, the program may be set by theoperator through the operating device 7 or another input device insteadof being selected from the programs stored in the specific wok/operationprogram memory 2. Further, both of the selection and setting may beperformed.

In the other work/operation program memory 3, a singular or a pluralityof working programs for a work or works which are other than thespecific work or works. The selection may be performed in reference tothe selecting information shown in the display 6.

Further, in the other work/operation program memory 3, various operationprograms for other works to be selected in reference to the selectinginformation shown in the display 6.

As to the other works, the program may be set through the operatingdevice 7 or another input device instead of being selected from theprograms stored in the other wok/operation program memory 3. Further,both of the selection and setting may be performed.

As to the operations for the other works, the program may also be setthrough the operating device 7 or another input device instead of beingselected from the programs stored in the other wok/operation programmemory 3. Further, both of the selection and setting may be performed.

The selected or set work and operation are stored as points in a datamemory 8.

FIG. 2 shows the data memory 8 for storing the point data by way ofexample.

The point data 20 are provided with point numbers respectively. For eachof the point numbers, the position coordinate, the predetermined work Aand operation for the work A and the other work and the operation areselected or set and stored. For example, for point number 1, thecoordinates of x1, y1, z1, θ1, the work A and the operation a1 for thework are selected, and further the other work C and the operation dareselected.

For the point number 2, the coordinate x2, y2, z2, θ2 and the operationa2 are set and the other work is not set. In this way, until the pointnumber Pn is reached, the coordinates, the predetermined works and theoperations, and the other works and the operations are selected or setby the operator.

The control device 1 selectively reads out the works and operations fromthe data memory 8 so that the read out work and operation may be carriedout at the coordinate position of the point number in accordance withthe programs read out from the specific work/operation program memory 2and from the other work/operation program memory 3.

Operation will be described by way of example in case of a coating workin reference to FIG. 3.

The operator operates the operating device 7 to input (steps S1, S2) apoint number and the position coordinates, and further input (step S3) atype of operation for a predetermined work.

In case the type of operation is a point coating, a period of time isinputted (step S5). In case a line coating is finished, the coatingdevice is turned off (step S6). In case the line coating is started, aspeed is inputted (step S7) and the coating device is turned on (stepS8).

In case another work is added (step S9), the work is selected (step S10)and the operation for the work is selected (step S11).

Thus the operations and works are selected or set for all of the pointnumbers (steps S12, 13). When this is finished, the works and operationsare carried out in accordance with the selected or set contents.

According to the embodiment, each point is provided with a content ofwork and a content of operation. However, each point may be additionallyprovided with various contents of control.

FIG. 4 shows another embodiment for providing the contents of point data20.

Here, the point number 21 for specifying a moving sequence of point andthe position coordinate 22 for specifying a moving point are providedtogether with the work data 40.

The position coordinate 22 specifies one point, but may be accompaniedwith the data such as the pallet data or the like for specifying aplurality of positions designating minute movements as will be describedin] detail hereinlater.

The moving destination data 41 is provided to set a destination. Withpresence of the moving destination data 41, the moving sequence may bespecified without setting the point number 21.

The moving mode data 42 are various data for movements and are providedto set PTP control, straight line interpolation, circular interpolation,moving speed, movement accelerating speed, moving period of time and thelike.

The moving condition data 43 may be set. The data may be provided tomake various movements including skipping the next moving destination independence upon a condition which may be permitted.

The during movement output data 44 may be provided to produce outputwhile the robot is operated to move. For example, when the robot ismoved a predetermined distance, a signal is produced to move anotherappliance, or a signal is outputted to stop the robot upon receipt of asignal from a sensor or another appliance.

The sub-work performing data 45 is instruction data for dealing witherrors and for performing a work which may be accompanied with apreparation movement required to be made prior to initiation of thework.

The position amending data 46 is instruction data for amending an errorincluding a displacement of position.

The data as mentioned above may be provided in the point data 20 or maybe separately provided as reference data 30. Preferably the data formovement may separately provided as connection data 31. Further,predetermined fixed values may be separately provided as fixed valuedata 32 so as to be optionally referred to.

A Moving Sequence:

FIG. 2 shows the points having numbers attached thereto respectively sothat the robot may be operated to move sequentially of the pointnumbers. The sequence of movements to the points and performances ofwork will be described in reference to FIGS. 5 to 7.

FIG. 5 shows an embodiment for enabling the user to set the connectiondata 31 showing the moving route between the points. The connection data31 includes present position data 50 for deciding a moving destinationand moving destination data 51 so that the connection data 31 may bereferred to for each point to recognize the next moving destination.

FIG. 6 shows an embodiment for setting the moving destination data 41directly in the point data 20 without using the connection data 31.

FIG. 7 shows an embodiment wherein the point data 20 are arranged inorder of performance for making movement and working in this order.

As mentioned above, in the embodiments 5 to 7, the user may decide thesequence of performance after setting the points by use of the pointdata 20. Thus the working program may be efficiently constructed.

FIGS. 8 and 9 show the examples for setting moving mode data 42 in eachpoint data 20.

According to the example in FIG. 8, the point data 20 includes theinterpolation designating data (PTP drive, straight line interpolation,circular interpolation) to be set and the detailed moving mode data 42to be set to the individual point data 20, or the fixed values are readout to be used. As the fixed value data 32, the moving mode data 52 isset. In case the individual moving mode data 42 is not set in the pointdata 20, the data set in the fixed value data 32 may be used.

According to the example in FIG. 9, in case the moving mode data 42 areindividually set, the read-out data 60 is used to read out the referencedata 30, thereby to use the moving mode data 42 as set in the referencedata 30.

In case there is no individual designation, the fixed moving mode value52 may be used.

As mentioned above, the moving mode data 42 includes designation ofinterpolation, moving speed, acceleration, period of time by way ofexamples. However, the moving mode data 42 is not limited to theenumerated one, but may include other data to be set, for example, foran R shaft rotation speed and arch motion.

Change of Moving Sequence:

FIGS. 10 and 11 show an embodiment for setting the moving condition data43 to change the moving route.

According to the embodiment, movement is made from point P0 to P1 andthen to P2. In this embodiment, the point data 20 including the point P2further includes the moving condition data 43. In this case, theread-out data 60 is set and the reference data 30 includes the movingcondition data 43, wherein an AND condition is provided, for example, asignal A10 is ON and A11 is OFF.

Prior to movement from P1 to P2, the point data 20 including the pointP2 is checked. In case the condition as mentioned above is satisfied asshown in FIG. 11, movement is made to P2, and if not satisfied, movementis made to P3.

Thus the change of moving route may be made in accordance with arequired condition.

Control During Movement:

Subsequently, a control for movement and stop with output and input of asignal during movement will be described.

A signal may be produced while the robot is moving. For example, it maybe required to start the robot from a position that is 10 mm frominitiation of movement and to stop the robot by a signal from a deviceor sensor.

FIGS. 12 and 13 show an embodiment for making such control.

As shown in FIG. 12, the connection data 31 includes the output datain-movement 44.

The point data 20 including the coordinate (0, 0, 30) has the connectiondata 31 having control data 53 being set therein, where the signal B1 isturned on at a position that is 10 mm from initiation of movement and isturned off at a position that is 30 mm prior to termination of movement.It is a matter of course that a period of time may be set instead ofdistance.

FIG. 13 shows the signal B1 turned on and turned off.

The point data 20 including the coordinate (0, 100, 80) has theconnection data 31 having stop data 54 being set therein, where thesignal A10 is turned on to stop the movement.

FIG. 14 shows an embodiment wherein instead of the connection data 31,the reference data 30 has control data 53 and stop condition data 55 settherein. The point data 20 has read-out data 60 set therein and thereference data 30 has control data 53 and/or stop condition data 55 settherein. The content of operation is the same as in the embodiment ofFIG. 12.

In this way, various signals may be produced to make various operationsduring movement.

Operation of the embodiment will be described in reference to FIG. 15.

The point data is set in the data memory 8 to set position coordinates22. The point number 21 is set if needed (step S20). Subsequently, awork or operation for the work at the point is set (step S21). The samesetting is performed as to all points (step S22).

Subsequently, a moving sequence is set (step S23). In case theconnection data 31 is used, a present position data 50 and a movingdestination data 51 are set. The moving destination data 41 may bedirectly written in without using the connection data 31. In case thearranging sequence of point data is the moving sequence, the point dataare arranged in such sequence.

Subsequently, the moving mode data 42 such as designation ofinterpolation, speed, acceleration, period of time are set. In case thefixed value is used, the value is set (step S24). Then the performancecondition is set (step S25), the output-in-movement is set (step S26)and then the stop condition-in-movement is set (step S27).

In this case, the step S22 may be located anywhere. In the abovementioned way, all point data are precedingly set. But this is notalways the only way. It is possible, for example, to set the step 21 andthe subsequent steps simultaneously at the time of setting one pointdata.

Pallet Data:

In the movement of robot, there is a repetition of minute movement. Forexample, in case something is placed on a pallet side by side, it isrequired to regularly repeat movement from one place to the next withconstant displacement of position. It is actually troublesome to doteaching each movement and to set the coordinates, and further this willrequire so much capacity of memory.

In order to solve such problem, subordinate position setting data calleda pallet may be used.

Such pallet data may be set for each point as is required.

In FIG. 16, the point data 20 includes read-out-data 60 which may beused to read out the pallet data 33. The pallet data 33 includes palletmoving data 70.

The pallet data may include 0 dimension, 1 dimension, 2 dimensions, 3dimensions. The 0 dimension pallet is a data for designating one pointwhere one or a plurality of works may be repeated.

The 1 dimension pallet is only for a straight line movement (side byside direction). The 2 dimension pallet is for movement in vertical andlateral directions.

The 3 dimension pallet is for movement in vertical, lateral and heightdirections.

In FIG. 16, the pallet 1 is 1 dimension pallet showing the movement inthe side by side direction in four lines. PO is an original pointcoordinate. PA shows an increment amount in one direction.

Pallet 2 is 2 dimension pallet showing vertical and lateral movement infour lines and four rows. PO is an original point coordinate. PA showsan increment amount in one direction and PB shows an increment amount inthe another direction.

FIG. 17 diagrammatically shows the operation performed by setting thepallet, wherein upon movement made from point P0 to point P1 wherepallet 2 is set, then movement is made from P1-1 to P1-16 as defined byP0 with the increment amount as defined by PA and PB.

Thus the repetition of minute movement may be easily set for each point.

Sub-Point Data:

In order to perform a work of object, it is required to do a series ofoperations sequentially. In case errors are produced, it becomesnecessary to do exceptional treatment of the errors which is other thanthe predetermined operations while the robot is moved to a specifiedposition.

Further, it may be required to do a same work at a different positionwherein movement is accompanied.

Further, it may be required to do a preparatory operation before thework of object is initiated, for example, to fetch a screw prior toinitiation of the screwing work of object, or to clean a soldering ironprior to initiation of soldering work of object.

In order to perform the work accompanied with such incidentaloperations, it is preferable to set sub-point data to be read out if itis needed.

FIGS. 18 through 20 show the embodiments for using the sub-point data.

In FIG. 18, the point data 20 includes point number 21, positioncoordinate 22 and work data 40. The work data 40 is provided to read outthe reference data 30 for a work, and the reference data 30 includesprogram data for work 2. The program data includes read-out-data 60 forreading out sub-point data 34 when a condition is established. Namely,in case a condition is established that an error is produced, thesub-point data 34 is read out.

According to the example, the sub-point data 34 is set for two points P1and P2 where work 4 and work 5 are performed respectively. The work 5 isthe read-out data 60, and the content of work 5 is set in the referencedata 30.

In FIG. 19, the point data 20 includes read-out data 60 for reading outthe sub-point data 34. Here the sub-point data 34 is set for points P1through P5 so as to perform work 2 and work 4. In case a same work isrepeatedly performed at a different position, it is efficient to providesuch a series of sub-point data.

In FIG. 20, the point data 20 includes preparation data 61 to be usedprior to movement to a point. Precisely, the preparation data 61 is setfor point 2 and point 3 respectively so as to be referred to beforemovement is made from point P1 to Point P2 and to read out the sub-pointdata 34, thereby to make movement from P1 to P2 after the work 2 isperformed.

The preparation data 61 set for point 3 is also treated with in the sameway.

Thus a preparatory operation may be performed by reading out the dataset for the point to be used before the movement is made to the point.

In this connection, the same operation may be obtained by using theread-out data 60 in place of the preparation data 61, which is set for apreceding point. Namely, the read-out data 60 for reading out thesub-point data 34 may be set for P1. But it will be more effective forsetting operation sake to set the preparation data 61 for the point P2which requires the movement.

Amendment of Position:

The work to be processed may be positionally displaced during processingoperation. The processing operation with positional displacement of thework will extremely decrease the processing precision.

According to the embodiment, the position of work may be detected by useof a camera or a sensor to enable the robot to automatically amend themoving operation, thereby to attain a high processing precision.

Namely, the point data 20 includes the amendment amount of positionaldisplacement so that the robot may be controlled to move to a positionwhere the amendment amount is added. Thus the robot may move to acorrect position.

In FIG. 21, the point data 20 including the point P1 further includesread-out data 60 so that the amendment amount in the direction Z may beobtained through the reference data. The work data 40 is provided todetect the position of work in the Z direction after waiting 0.5 secondfor reducing vibration, thereby to calculate the amendment amount fromthe detected value.

Further, the point data 20 including the point P2 includes read-out data60 for reading out position amending data 35. The position amending data35 includes an amendment amount calculated by the work data 40 of thereference data 30. The amendment amount is applied to the positioncoordinate 22 of the point P2. Namely, the movement is made to aposition (100, 120, 30) where the amendment amount (0, 0, 1.5) is addedto the position (100, 120, 30) of P2.

The amendment in X and Y directions may be made in the same way.

Thus the displacement of work is successively amended and a positionallyhigh precision of processing operation may be obtained.

As is described above, according to the robot of the invention, a workmay be set in connection with a set position, and the moving sequenceand other various conditions may be set, and therefore, programming orteaching may be easily performed.

The invention being thus described, it will be obvious that the same maybe varied in many ways. Such variations are not to be regarded as adeparture from the spirit and scope of the invention, and all suchmodifications are intended to be included within the scope of thefollowing claims.

What is claimed is:
 1. A robot performing a work at a set position, saidrobot comprising: means for setting a position at which work isperformed, means for setting said works to be performed at said setpositions, means for setting a sequence of movements between said setpositions, control means for performing said works at said set positionsin said sequence of movements, wherein said sequence of movements asbeing set is memorized as data for indicating a present moving operationand a next moving destination.
 2. The robot as defined in claim 1,further comprising means for setting a mode of movement between said setpositions.
 3. The robot as defined in claim 2, wherein said mode ofmovement includes at least one or more of interpolation, speed andperiod of time.
 4. The robot as defined in claim 2, wherein said mode ofmovement as being set is memorized in connection with said setpositions.
 5. The robot as defined in claim 2, wherein predeterminedfixed moving mode data may be used in case said mode of movement is notset.
 6. The robot as defined in claim 1, further comprising means forsetting a change of sequence of movements in dependence upon a requiredcondition, said sequence of movements being set by said means forsetting a sequence of movements.
 7. The robot as defined in claim 6,wherein the data as set for changing said mode of movements is memorizedin connection with said set positions.
 8. The robot as defined in claim6, wherein the data as set for changing said mode of movements ismemorized in connection with said set positions and indicates acondition whether or not the movement is made to said set positions andwherein said control means reads out said set data before movement ismade to said set positions to decide whether or not the movement is madeto said set positions.
 9. The robot as defined in claim 1, furthercomprising means for setting a control instruction while movement ismade between said set positions.
 10. The robot as defined in claim 9,wherein said control instruction as being set is memorized in connectwith said set positions.
 11. The robot as defined in claim 9, whereinsaid control instruction as being set is outputted on the basis ofmoving distance.
 12. The robot as defined in claim 9, wherein saidcontrol instruction includes a stop of movement while movement is made.13. The robot as defined in claim 12, wherein said set work and saidanother position as being set are memorized in connection with said setposition.
 14. The robot as defined in claim 13, wherein said set workand said another position as being set are memorized in connection withsaid set position.
 15. The robot as defined in claim 13, wherein saidanother position is one of 0 to 3 dimensions.
 16. The robot as definedin claim 15, wherein said another work to be performed at said anotherposition is performed at said set position.
 17. The robot as defined inclaim 16, wherein said another work to be performed at said anotherposition is performed at said set position.
 18. The robot as defined inclaim 16, wherein said another work to be performed at said anotherposition is performed before movement is made to said set position. 19.The robot as defined in claim 16, wherein said another work to beperformed at said another position is memorized, said another work beingread out in connection with said set position.
 20. A robot performing awork at a set position, said robot comprising: means for setting aposition at which work is performed, means for setting said works to beperformed at said set positions, means for setting a sequence ofmovements between said set positions, control means for performing saidworks at said set positions in said sequence of movements, wherein saidsequence of movements as being set is memorized as data indicating anext moving destination in connection with said set positions.
 21. Arobot performing a work at a set position, said robot comprising: meansfor setting a position at which work is performed, means for settingsaid works to be performed at said set positions, means for setting asequence of movements between said set positions, control means forperforming said works at said set positions in said sequence ofmovements, wherein said sequence of movements as being set is memorizedas data arranged in the sequence thereof.
 22. A robot performing a workat a set position, said robot comprising: means for setting a positionat which work is performed, means for setting said work to be performedat said set position, control means for performing said work at said setposition, means for setting positional error detection to be performedat said set position, said positional error detection being performedregarding a position between said set position and the position wheresaid work is actually performed, means for setting amendment of positionon the basis of the positional error which is detected at said setposition.
 23. The robot as defined in claim 22, wherein said amendmentof position is made at the next position following the position wheresaid positional error detection is made.